package com.zhongwang.business.module.estimateBudgetAccountingManage.model;

import com.zhongwang.business.gen.entity.BusBudgetAccountingCost;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 *  BusBudgetAccountingCostModel
 *  检索使用模型
 * @author 徐一贺
 * @date 2020/10/10 14:42
 * @version 1.0
      */
@Data
public class BusBudgetAccountingCostModel extends BusBudgetAccountingCost {
    private Integer bacId;

    /**
     * 算法表主键
     */
    private Integer bbaaId;
    /**
     * 算法表算法码
     */
    private String bbaaCode;

    /**
     * 项目号
     */
    private String proCode;

    /**
     * 版本Id
     */
    private Integer verId;

    public BusBudgetAccountingCostModel(){
    }

    public BusBudgetAccountingCostModel(Integer id, String name, String code, Integer templateId, Integer batId, String showOrderNo, String editShowOrderNo, Integer rank, Integer orderNo, String unit, BigDecimal num, BigDecimal price, BigDecimal totalPrice, String major, String part, String texture, String remark, Integer itemType, Integer finishStatus, String parentCode, Date createTime, String dataSource, Integer textureEditFlag, Integer remarkEditFlag, Integer priceEditFlag, Integer totalPriceFlag, Integer numEditFlag, Integer viewInfoFlag, Integer deleteFlag, Integer displayFlag, Integer isMajor, Integer isPart, Integer isInvalid, Integer showFinishStatus, Integer showDataSource, BigDecimal trueAmount, String displayNum, String displayPrice, String displayTotalPrice, Integer amountDisplayModel, String diyRemark, BigDecimal manPrice, BigDecimal installPrice, BigDecimal syntheticalPrice, Integer isEffectiveFlag, Integer dataIden, String displayTrueAmount, BigDecimal unforeseenArtificial, BigDecimal unforeseenOther, Integer bacId, Integer bbaaId, String bbaaCode, String proCode, Integer verId) {
        super(id, name, code, templateId, batId, showOrderNo, editShowOrderNo, rank, orderNo, unit, num, price, totalPrice, major, part, texture, remark, itemType, finishStatus, parentCode, createTime, dataSource, textureEditFlag, remarkEditFlag, priceEditFlag, totalPriceFlag, numEditFlag, viewInfoFlag, deleteFlag, displayFlag, isMajor, isPart, isInvalid, showFinishStatus, showDataSource, trueAmount, displayNum, displayPrice, displayTotalPrice, amountDisplayModel, diyRemark, manPrice, installPrice, syntheticalPrice, isEffectiveFlag, dataIden, displayTrueAmount, unforeseenArtificial, unforeseenOther);
        this.bacId = bacId;
        this.bbaaId = bbaaId;
        this.bbaaCode = bbaaCode;
        this.proCode = proCode;
        this.verId = verId;
    }

    /**
     * 构造方法
     */
    public BusBudgetAccountingCostModel(Integer bacId, Integer bbaaId, String bbaaCode, String proCode, Integer verId) {
        this.bacId = bacId;
        this.bbaaId = bbaaId;
        this.bbaaCode = bbaaCode;
        this.proCode = proCode;
        this.verId = verId;
    }


    public BusBudgetAccountingCostModel(Integer id, String name, String code, Integer templateId, Integer batId, String showOrderNo, String editShowOrderNo, Integer rank, Integer orderNo, String unit, BigDecimal num, BigDecimal price, BigDecimal totalPrice, String major, String part, String texture, String remark, Integer itemType, Integer finishStatus, String parentCode, Date createTime, String dataSource, Integer textureEditFlag, Integer remarkEditFlag, Integer priceEditFlag, Integer totalPriceFlag, Integer numEditFlag, Integer viewInfoFlag, Integer deleteFlag, Integer displayFlag, Integer isMajor, Integer isPart, Integer isInvalid, Integer showFinishStatus, Integer showDataSource, BigDecimal trueAmount, String displayNum, String displayPrice, String displayTotalPrice, Integer amountDisplayModel, String diyRemark, BigDecimal manPrice, BigDecimal installPrice, BigDecimal syntheticalPrice, Integer isEffectiveFlag, Integer dataIden, String displayTrueAmount, BigDecimal unforeseenArtificial, BigDecimal unforeseenOther) {
        super(id, name, code, templateId, batId, showOrderNo, editShowOrderNo, rank, orderNo, unit, num, price, totalPrice, major, part, texture, remark, itemType, finishStatus, parentCode, createTime, dataSource, textureEditFlag, remarkEditFlag, priceEditFlag, totalPriceFlag, numEditFlag, viewInfoFlag, deleteFlag, displayFlag, isMajor, isPart, isInvalid, showFinishStatus, showDataSource, trueAmount, displayNum, displayPrice, displayTotalPrice, amountDisplayModel, diyRemark, manPrice, installPrice, syntheticalPrice, isEffectiveFlag, dataIden, displayTrueAmount, unforeseenArtificial, unforeseenOther);
    }

    /**
     * 构造方法
     */
    public BusBudgetAccountingCostModel(BusBudgetAccountingCost parent) {
        super(  parent.getId(),
                parent.getName(),
                parent.getCode(),
                parent.getTemplateId(),
                parent.getBatId(),
                parent.getShowOrderNo(),
                parent.getEditShowOrderNo(),
                parent.getRank(),
                parent.getOrderNo(),
                parent.getUnit(),
                parent.getNum(),
                parent.getPrice(),
                parent.getTotalPrice(),
                parent.getMajor(),
                parent.getPart(),
                parent.getTexture(),
                parent.getRemark(),
                parent.getItemType(),
                parent.getFinishStatus(),
                parent.getParentCode(),
                parent.getCreateTime(),
                parent.getDataSource(),
                parent.getTextureEditFlag(),
                parent.getRemarkEditFlag(),
                parent.getPriceEditFlag(),
                parent.getTotalPriceFlag(),
                parent.getNumEditFlag(),
                parent.getViewInfoFlag(),
                parent.getDeleteFlag(),
                parent.getDisplayFlag(),
                parent.getIsMajor(),
                parent.getIsPart(),
                parent.getIsInvalid(),
                parent.getShowFinishStatus(),
                parent.getShowDataSource(),
                parent.getTrueAmount(),
                parent.getDisplayNum(),
                parent.getDisplayPrice(),
                parent.getDisplayTotalPrice(),
                parent.getAmountDisplayModel(),
                parent.getDiyRemark(),
                parent.getManPrice(),
                parent.getInstallPrice(),
                parent.getSyntheticalPrice(),
                parent.getIsEffectiveFlag(),
                parent.getDataIden(),
                parent.getDisplayTrueAmount(),
                parent.getUnforeseenArtificial(),
                parent.getUnforeseenOther()
                );
    }
}
